/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.edu.pucp.Maestros.Controlador.CargaXML;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import org.jdom.*;
import org.jdom.input.*;
import pe.edu.pucp.Maestros.DAO.AeropuertoXmlDAO;
import pe.edu.pucp.Maestros.Vista.CargaXMLGUI;
import pe.edu.pucp.Modelo.Aeropuerto;
import pe.edu.pucp.Modelo.Ciudad;
import pe.edu.pucp.Modelo.EstadoAeropuerto;
import pe.edu.pucp.Modelo.Usuario;
import pe.edu.pucp.Util.Constante;
import pe.edu.pucp.Util.LogHelper;
/**
 *
 * @author oscar
 */
public class AeropuertoXmlControlador {
    private Aeropuerto aeropuerto;
    private AeropuertoXmlDAO m;
    private CargaXMLGUI aeropuertoView;
    public ArrayList<Aeropuerto> listaAeropuerto;
        
    public AeropuertoXmlControlador(AeropuertoXmlDAO dao, CargaXMLGUI v) {
        this.m = dao;
        this.aeropuertoView = v;   
    }
    
    public AeropuertoXmlControlador(AeropuertoXmlDAO dao, CargaXMLGUI v, Aeropuerto aeropuerto) {
        this.aeropuerto = aeropuerto;
        this.m = dao;
        this.aeropuertoView = v;   
    }  
       
    public void CargarPrueba(Usuario usr){
        if (aeropuerto == null) {
            aeropuerto = new Aeropuerto();
        }       
        try { 
            SAXBuilder builder = new SAXBuilder(false); 
            Document doc = builder.build(aeropuertoView.getNombreArchivoDatosIniciales()+"/AEROPUERTO.xml");
            Element raiz9 = doc.getRootElement(); 
            List equipos = raiz9.getChildren("Aeropuerto"); 
            Iterator i = equipos.iterator(); 
            while (i.hasNext()) { 
                Element e9 = (Element) i.next();
                String a2 = e9.getChild("descripcion").getValue();
                int a3 = Integer.parseInt(e9.getChild("idciudad").getValue());
                int a4 = Integer.parseInt(e9.getChild("idestado").getValue());
                Double a5 = Double.parseDouble(e9.getChild("costoaeropuerto").getValue());
                int a6 = Integer.parseInt(e9.getChild("tretencion").getValue());
                Double a7 = Double.parseDouble(e9.getChild("costpack").getValue());
                int nump = Integer.parseInt(e9.getChild("numpack").getValue());
                int a8 = Integer.parseInt(e9.getChild("cappack").getValue());        

                Ciudad c= new Ciudad();
                c.setIdciudad(a3);

                EstadoAeropuerto d = new EstadoAeropuerto();
                d.setIdestado(a4);

                aeropuerto.setDescripcion(a2);
                aeropuerto.setCiudad(c);
                aeropuerto.setEstadoAeropuerto(d);
                aeropuerto.setCostoaeropuerto(a5);
                aeropuerto.setTretencion(a6);
                aeropuerto.setCostpack(a7);
                aeropuerto.setNumpack(nump);
                aeropuerto.setCappack(a8); 
                aeropuerto.setFechareg(new Date());              
                m.guardarAeropuerto(aeropuerto);
            } 
            LogHelper.registrarOperacion(usr, Constante.ACCION_CARGAR, Constante.OBJETO_AEROPUERTO, "Se cargaron "+equipos.size()+" registros de aeropuertos");
        }  
        catch (JDOMException | IOException | NumberFormatException e9) { } 
    }
}
